Отчёт о тесте в 64000 соединений онлайн

В прошлой статье мы рассмотрели как провести нагрузочное тестирование. А здесь я покажу как я его сам проводил, и приведу его результаты.


Нагрузка в 64000 это максимум который позволит создать операционная система при тестировании на одной машине. Если хотите больше то надо тестировать один сервер с нескольких машин одновременно. Так как TCP-соединение уникально определяется четверкой [source ip, source port, dest ip, dest port], таким образом с одной машины на 1 порт сервера можно создать не более 64 тыс одновременных соединений


Результаты

На скриншоте видно 3 консоли. Пик тестирования

  • В верхней я запустил tsung
  • Слева комет сервер
  • Справа htop

Вывод комет сервера

На скриншоте цифрами обозначены

  • Количество соединений онлайн
  • Время работы сервера в секундах
  • Колонка со списком какой процесс сколько сетевых событий обработал за всё время. (таких как подключение, приём сообщений, закрытие соединения)
  • Первый процесс в списке обработал больше всех так как он занимался приёмом входящих соединений (При обычной нагрузке такого большого отрыва нет так как входящие подключение устанавливается на долго)
  • Остальные процессы для уже принятых соединений обрабатывали входящие сообщения
  • Колонка PcS обозначает какой процесс сколько сетевых событий обработал за последнею секунду (На gif анимации в этой колонке не нули) Нули так как соединения приняты и висят в ожидании входящих сообщений но данным тестовым сценарием мы не отсылаем каких то дополнительных событий.

CppComet

Вывод htop

На скриншоте цифрами обозначены

  • Процессы комет сервера (Видно что он потратил 4891 Мб оперативной памяти)
  • Процессы tsung (Видно что он потратил 2262 Мб оперативной памяти)
  • Общее потребление памяти (Остальное было израсходовано операционной системой и другими программами запущенными в момент тестирования)

htop

Процесс тестирования

Gif анимация процесса тестирования. Видно что идёт прирост около 2500 соеденений в секунду и то что все ядра загружаются почти равномерно. Так же виден рост потребления памяти.

https://comet-server.com/doc/CppComet/HL-test2-64000.gif

Отчёт tsung


Ниже приведены только 2 графика, полная версия отчёта расположена на github.


Запросов в секунду #

Запросов в секунду

Количество одновременных подключений #

Количество одновременных подключений